Interleaving is an advanced technique used to improve memory performance. Interleaving works by mapping a physical address space across multiple physical memory modules to increase the probability that multiple memory transactions will execute in parallel. Interleaving thereby increases bandwidth by allowing simultaneous access to more than one physical memory module (i.e. a chunk of memory that can be accessed at a given time). This improves performance because the processor can transfer more information to/from memory in the same amount of time, and helps alleviate the processor-memory bottleneck that is a major limiting factor in overall performance.
In order to achieve better performance, interleaving spreads out consecutive memory addresses across different physical memory modules. For example, if a system has 4 physical memory modules of interleaved memory, the system doesn't fill the first physical memory module, and then the second and so on. It uses all 4 physical memory modules, such that the first and fifth memory locations are at the first physical memory module, the second and sixth memory locations are at the second physical memory module, the third and seventh memory locations are at the second physical memory module etc.
Thus, in an interleaved group of physical memory modules, each physical memory module is accessed using different sets of control lines, which are merged together on the memory bus. For example, when a read or write is begun to the first memory location, a read or write to the second memory location can be overlapped with the first one. The more physical memory modules that are interleaved, the more overlapping can be done. It is understood that interleaving configurations implemented in small and large computer systems can vary in terms of the number of physical memory modules that are interleaved.